#pragma once

#include "facade/SubSystemA.hpp"
#include "facade/SubSystemB.hpp"
#include "facade/SubSystemC.hpp"

class Facade
{
private:
    SubSystemA m_sub_system_a;
    SubSystemB m_sub_system_b;
    SubSystemC m_sub_system_c;

public:
    Facade() {}
    ~Facade() = default;

    void MethodOne() {
        m_sub_system_a.MethodA();
        m_sub_system_c.MethodC();
    }
    void MethodTwo() {
        m_sub_system_b.MethodB();
        m_sub_system_c.MethodC();
    }
};
